package com.ternnetwork.clustersyn.util;

import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;

import com.ternnetwork.clustersyn.filter.ClusterFileFilter;
import com.ternnetwork.clustersyn.listener.ClusterFileAlterationListener;

public class FileAlterationUtil {

	
	public static void createFileAlterationInstance(String path,long interval){
		 try {

			   // 构造观察类主要提供要观察的文件或目录，当然还有详细信息的filter
			   FileAlterationObserver observer = new FileAlterationObserver(path, new ClusterFileFilter());
			   // 构造收听类 没啥好说的
			   ClusterFileAlterationListener listener = new ClusterFileAlterationListener();
			   // 为观察对象添加收听对象
			   observer.addListener(listener);
			   // 配置Monitor，第一个参数单位是毫秒，是监听的间隔；第二个参数就是绑定我们之前的观察对象。
			   FileAlterationMonitor fileMonitor = new FileAlterationMonitor(interval, new FileAlterationObserver[] { observer });
			   // 启动开始监听
			   fileMonitor.start();
			  } catch (Exception e) {
			   e.printStackTrace();
			  }
	}
}
